package com.imoney.payment.trade.domain;

import java.util.Date;

import com.imoney.framework.base.entity.BaseEntity;
import com.imoney.framework.base.enums.CcyType;
import com.imoney.framework.base.enums.TradeType;
import com.imoney.payment.trade.enums.BusinessType;
import com.imoney.payment.trade.enums.ProductType;
import com.imoney.payment.trade.enums.TradeStatus;

public class TradeOrder extends BaseEntity {
   
    private static final long serialVersionUID = -3443123381300926938L;

	/**
     * EPAY.TRADE.TRADE_NO (交易流水号)
     */
    private String tradeNo;

    /**
     * EPAY.TRADE.OUT_BIZ_NO (外部流水号)
     */
    private String outBizNo;

    /**
     * EPAY.TRADE.PAYMENT_NO (支付流水号)
     */
    private String paymentNo;
    
    /**
     * EPAY.TRADE.BUSINESS_TYPE (业务类型)
     */
    private BusinessType businessType;

    /**
     * EPAY.TRADE.SELLER_EMAIL (卖方账号)
     */
    private String sellerEmail;

    /**
     * EPAY.TRADE.BUYER_EMAIL (买方账号)
     */
    private String buyerEmail;

    /**
     * EPAY.TRADE.TRADE_TYPE (支付方式(担保、即时))
     */
    private TradeType tradeType;

    /**
     * EPAY.TRADE.PRODUCT_TYPE (宝贝类型: 实物,  虚拟物品,  服务 )
     */
    private ProductType productType;

    /**
     * EPAY.TRADE.CCY_TYPE (币种)
     */
    private CcyType ccyType;

    /**
     * EPAY.TRADE.SUBJECT (宝贝名称)
     */
    private String subject;

    /**
     * EPAY.TRADE.MEMO (宝贝描述)
     */
    private String memo;

    /**
     * EPAY.TRADE.QUANTITY (数量)
     */
    private long quantity;

    /**
     * EPAY.TRADE.AMT (单价)
     */
    private long amt;

    /**
     * EPAY.TRADE.STATUS (交易状态)
     */
    private TradeStatus status;

    /**
     * EPAY.TRADE.CREATE_DATE (成交时间/创建时间)
     */
    private Date createDate;

    /**
     * EPAY.TRADE.SEND_DATE (发货时间)
     */
    private Date sendDate;

    /**
     * EPAY.TRADE.CONFIRM_DATE (确认收货时间/结束时间)
     */
    private Date confirmDate;

    /**
     * EPAY.TRADE.REMARK (备注)
     */
    private String remark;

	public String getTradeNo() {
		return tradeNo;
	}

	public void setTradeNo(String tradeNo) {
		this.tradeNo = tradeNo;
	}

	public String getOutBizNo() {
		return outBizNo;
	}

	public void setOutBizNo(String outBizNo) {
		this.outBizNo = outBizNo;
	}

	public BusinessType getBusinessType() {
		return businessType;
	}

	public void setBusinessType(BusinessType businessType) {
		this.businessType = businessType;
	}

	public String getPaymentNo() {
		return paymentNo;
	}

	public void setPaymentNo(String paymentNo) {
		this.paymentNo = paymentNo;
	}

	public String getSellerEmail() {
		return sellerEmail;
	}

	public void setSellerEmail(String sellerEmail) {
		this.sellerEmail = sellerEmail;
	}

	public String getBuyerEmail() {
		return buyerEmail;
	}

	public void setBuyerEmail(String buyerEmail) {
		this.buyerEmail = buyerEmail;
	}

	public TradeType getTradeType() {
		return tradeType;
	}

	public void setTradeType(TradeType tradeType) {
		this.tradeType = tradeType;
	}

	public ProductType getProductType() {
		return productType;
	}

	public void setProductType(ProductType productType) {
		this.productType = productType;
	}

	public CcyType getCcyType() {
		return ccyType;
	}

	public void setCcyType(CcyType ccyType) {
		this.ccyType = ccyType;
	}

	public String getSubject() {
		return subject;
	}

	public void setSubject(String subject) {
		this.subject = subject;
	}

	public String getMemo() {
		return memo;
	}

	public void setMemo(String memo) {
		this.memo = memo;
	}

	public long getQuantity() {
		return quantity;
	}

	public void setQuantity(long quantity) {
		this.quantity = quantity;
	}

	public long getAmt() {
		return amt;
	}

	public void setAmt(long amt) {
		this.amt = amt;
	}

	public TradeStatus getStatus() {
		return status;
	}

	public void setStatus(TradeStatus status) {
		this.status = status;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public Date getSendDate() {
		return sendDate;
	}

	public void setSendDate(Date sendDate) {
		this.sendDate = sendDate;
	}

	public Date getConfirmDate() {
		return confirmDate;
	}

	public void setConfirmDate(Date confirmDate) {
		this.confirmDate = confirmDate;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}
	
}